home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
oper_sys
/
emerald
/
emrldsys.lha
/
Makefile
< prev
Wrap
Makefile
|
1990-11-20
|
4KB
|
149 lines
# copyright 1990 Eric Jul and Bjarne Steensgaard
# This is an attempt to write a makefile for the Emerald release.
usage:
@echo 'Follow the instructions in InstallNotes2'
@echo 'or in InstallNotes3.'
@echo 'The latter is almost automatic.'
# 1 - 2
fixemname:
@echo 'You must edit the shell-script Scripts/fixemdir file to include'
@echo 'your machine name and other stuff.'
# 3 - 4
./Scripts/fixemdir.DoIt: ./Scripts/fixemdir
@echo 'Fixing names of the Emerald root dir.'
@echo 'Expected times: 6 min (Sun 3/260,), 15 min (VAX 11/785)'
@echo 'Finding the files to modify.'
Scripts/fixemdir -r
./Scripts/startOpNameServer: ./Scripts/fixemdir.DoIt
@echo 'Doing the edits.'
Scripts/fixemdir.DoIt
# 5
./EC/OperationNames/startOpNames: ./Scripts/fixemdir.DoIt
@echo 'Fixing the Operation Name server.'
@cd EC/OperationNames; \
make clean; \
echo 'Recompiling name server'; \
make; \
echo 'Reinitializing name server data base.'; \
make new
# 6. Dummy builtins
./Language/Compiler/DBuiltins/dummyBuiltins.a: ./Scripts/fixemdir.DoIt
@echo 'Doing Dummy Builtins (used by bootstrap compiler)'
@cd Language/Compiler/DBuiltins; \
rm -f *.o; \
make
# 7.a Build real builtins and compiler
./Language/Compiler/ec: ./Scripts/fixemdir.DoIt ./bin/copydate ./bin/ctime
@echo 'Building the compiler.'
@echo 'Takes 10 - 40 minutes'
@echo 'First remove old compiled files.'
bin/newTreeVersion
@echo 'Second, recompile the compiler 3 times (self bootstrap).'
rm -f Language/Compiler/*.o Language/Malloc/*.o
cd Language/Compiler/Builtins; \
rm -f ../cliOpNames.o; \
rm -f ../srvOpNames.o; \
make fromscratch
# 7.b
./bin/ec: ./Language/Compiler/ec
@echo 'Installing the new compiler.'
rm -f bin/ec
cp Language/Compiler/ec bin/ec
strip bin/ec
# 8
./bin/runec: ./Scripts/fixemdir.DoIt
@echo 'Making the runec program.'
cd Language/Runec; \
make install
# 9 Make the kernel
./bin/em: ./Scripts/fixemdir.DoIt ./bin/makedep ./Kernel/h/consts.h
@echo 'Making the kernel.'
@cd Kernel/Em; \
make clean; \
make depend MACHINE=`/bin/arch`;
@cd Kernel/Em; \
make em MACHINE=`/bin/arch`; \
echo "Installing the kernel"; \
rm -f ../../bin/em; \
cp em ../../bin/em; \
strip ../../bin/em
# 10
./bin/snapshot: ./Scripts/fixemdir.DoIt
@echo 'Making KmdOps.'
@cd Kernel/KmdOps; \
make clean; \
make install
# 11
ExecTests:
@echo 'Doing compiler tests, if output looks OK, rejoice.'
@cd Language/ExecTests; \
make clean; \
make test
dofixemdir: ./Scripts/startOpNameServer
nameserver: ./EC/OperationNames/startOpNames
dummybuiltins: ./Language/Compiler/DBuiltins/dummyBuiltins.a
compiler: ./bin/ec
runec: ./bin/runec
kernel: ./bin/em
KmdOps: ./bin/snapshot
./bin/makedep: ./Scripts/fixemdir.DoIt
@echo 'Making dependency program'
@cd Utils/makedep; \
rm -f *.o; \
make makedep
@strip Utils/makedep/makedep
@mv Utils/makedep/makedep bin
./bin/copydate: ./Scripts/fixemdir.DoIt
@echo 'Making copydate program'
@cd Utils/copydate; \
rm -f *.o; \
make copydate
@mv Utils/copydate/copydate bin
@strip bin/copydate
./bin/ctime: ./Scripts/fixemdir.DoIt
@echo 'Making ctime program'
@cd Utils/ctime; \
rm -f *.o; \
make ctime
@mv Utils/ctime/ctime bin
@strip bin/ctime
./Kernel/h/consts.h: ./Scripts/fixemdir.DoIt
-rm -f Kernel/h/consts.h
cd Kernel/h; \
make consts.h
test: ExecTests
fromscratch: dofixemdir nameserver dummybuiltins compiler runec kernel KmdOps
@echo 'The Emerald system is now installed'
@echo
@echo 'The first time the kernel (em) is started it will probably fail.'
@echo 'Second time the kernel will (hopefully) boot.'
@echo
@echo 'You should start the kernel, and when it is fully booted'
@echo 'you should test the system.'
@echo 'A minimal set of test programs can be run by doing'
@echo ' make test'